<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <script>
    function factorial(n) {   // 定义回调函数
      if (n == 1) {
        return 1;             // 递归出口
      }
      return n * factorial(n - 1);
    }
    var n = prompt('求n的阶乘\n n是大于等于1的正整数，如2表示求2!。');
    n = parseInt(n);
    if (isNaN(n)) {
      console.log('输入的n值不合法');
    } else {
      console.log(n + '的阶乘为：' + factorial(n));
    }
  </script>
</body>
</html>